package com.cyl.manager.pms.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.cyl.manager.pms.domain.entity.Product;
import com.cyl.manager.pms.domain.query.ProductQuery;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Set;

/**
 * 商品信息Mapper接口
 *
 * @author zcc
 */
public interface ProductMapper extends BaseMapper<Product> {

    /**
     * 查询商品信息列表
     *
     * @param product 商品信息
     * @return 商品信息集合
     */
    List<Product> selectByEntity(Product product);

    Product getProduct(Set<Long> productIds);

    /**
     * 根据条件批量更新商品发布状态
     * @param product 包含新发布状态的商品对象
     * @param query 查询条件
     * @return 更新的记录数
     */
    int updatePublishStatusByQuery(@Param("product") Product product, @Param("query") ProductQuery query);
}
